package com.ljp.registry;

import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * 本地注册中心
 * <p>
 * ClassName: LocalRegistry
 * Package: com.ljp.local.registry
 * Description:
 *
 * @Author: ljp
 * @Create: 2025/6/4-下午 03:04
 * @Version: 1.0
 */
public class LocalRegistry {
    /**
     * 服务注册容器
     * key:服务名称
     * value:服务实现类
     */
    private static final Map<String, Class<?>> nameToServerClassMap = new ConcurrentHashMap();

    /**
     * 服务注册
     *
     * @param serviceName 服务名称
     * @param implClass   服务实现类
     */
    public static void register(String serviceName, Class<?> implClass) {
        nameToServerClassMap.put(serviceName, implClass);
    }

    /**
     * 获取服务实现类
     *
     * @param serviceName 服务名称
     * @return 服务实现类
     */
    public static Class<?> getServer(String serviceName) {
        return nameToServerClassMap.get(serviceName);
    }

    /**
     * 移除服务
     *
     * @param serviceName 服务名称
     */
    public static void removeServer(String serviceName) {
        nameToServerClassMap.remove(serviceName);
    }
}
